/**
 * 步骤状态类型
 */
export const EDIT_STEP_STATUS = {
  WAIT: 'wait',
  PROCESS: 'process',
  FINISH: 'finish',
  ERROR: 'error',
  WARNING: 'warning',
}
export type StepStatus = typeof EDIT_STEP_STATUS[keyof typeof EDIT_STEP_STATUS]

/**
 * 步骤项配置
 */
export interface StepItem {
  /**
   * 步骤标题
   */
  title: string
  /**
   * 步骤子标题/描述
   */
  subTitle?: string
  /**
   * 步骤状态
   * @default 'wait'
   */
  status?: StepStatus
  /**
   * 自定义图标 (可选)
   */
  icon?: string
}

/**
 * 步骤条组件属性
 */
export interface StepBarProps {
  id?: string
  /**
   * 步骤项数组
   */
  steps: StepItem[]
  /**
   * 当前激活步骤索引 (从0开始)
   * @default 0
   */
  current?: number
  /**
   * 步骤条方向
   * @default 'horizontal'
   */
  direction?: 'horizontal' | 'vertical'
  /**
   * 点击步骤回调
   */
  onChange?: (index: number) => void
}

/**
 * 默认属性
 */
export const DEFAULT_STEP_PROPS: Partial<StepBarProps> = {
  current: 0,
  direction: 'horizontal',
}

/**
 * 状态颜色映射
 */
export const STEP_STATUS_COLORS: Record<StepStatus, string> = {
  wait: '#c0c4cc',
  process: '#409eff',
  finish: '#67c23a',
  error: '#f56c6c',
  warning: '#e6a23c',
}

/**
 * 状态图标映射
 */
export const STEP_STATUS_ICONS: Record<StepStatus, string> = {
  wait: '',
  process: '',
  finish: '✓',
  error: '✗',
  warning: '⚠',
}
